using System.Data;
using System.Data.Common;
using OracleInternal.Common;

namespace Oracle.ManagedDataAccess.Client
{
	public sealed class OracleRowUpdatingEventArgs : RowUpdatingEventArgs
	{
		public new OracleCommand Command
		{
			get
			{
				return (OracleCommand)base.Command;
			}
			set
			{
				base.Command = value;
			}
		}

		protected override IDbCommand BaseCommand
		{
			get
			{
				return base.BaseCommand;
			}
			set
			{
				base.BaseCommand = value as OracleCommand;
			}
		}

		public OracleRowUpdatingEventArgs(DataRow row, IDbCommand command, StatementType statementType, DataTableMapping tableMapping)
			: base(row, command, statementType, tableMapping)
		{
			if (ProviderConfig.m_bTraceLevelPublic)
			{
				Trace.Write(OracleTraceLevel.Public, OracleTraceTag.Entry, OracleTraceClassName.OracleRowUpdatingEventArgs, OracleTraceFuncName.ctor);
			}
			if (ProviderConfig.m_bTraceLevelPublic)
			{
				Trace.Write(OracleTraceLevel.Public, OracleTraceTag.Exit, OracleTraceClassName.OracleRowUpdatingEventArgs, OracleTraceFuncName.ctor);
			}
		}
	}
}
